"""
pandas基础教程7：数据分组与聚合

【知识点解读】
分组（groupby）可以对数据按某一列分组，然后进行聚合（如sum、mean等）。

【案例1】按班级分组统计平均成绩
"""
import pandas as pd

df = pd.DataFrame({
    '班级': ['一班', '一班', '二班', '二班'],
    '姓名': ['张三', '李四', '王五', '赵六'],
    '成绩': [90, 85, 88, 92]
})
print("原始数据：\n", df)

# 按班级分组，统计平均成绩
grouped = df.groupby('班级')['成绩'].mean()
print("\n按班级分组的平均成绩：\n", grouped)

"""
【案例2】多列分组与多种聚合
"""
df2 = pd.DataFrame({
    '班级': ['一班', '一班', '二班', '二班'],
    '性别': ['男', '女', '男', '女'],
    '成绩': [90, 85, 88, 92]
})
result = df2.groupby(['班级', '性别'])['成绩'].agg(['mean', 'max'])
print("\n按班级和性别分组，统计平均分和最高分：\n", result) 